#include "Command/CommandDesign.h"
#include <memory>
#include <string>
#include <unordered_map>

using namespace std;

int main()
{
	shared_ptr <CommandInvoker> invoker = make_shared<CommandInvoker>();

	invoker->InsertCommand("hello", new PrintHelloCommand{});
	invoker->InsertCommand("world", new PrintWorldCommand{});
	invoker->InsertCommand("add", new PrintAddCommand{ 678, 221 });

	invoker->execute("hello");
	invoker->execute("world");

	system("pause");
    return 0;
}